package com.sinog.biz.mapper.havexml.other;

import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * @desc 自动生成测试账号相关mapper
 * @author - ybl
 * @date - 2022/12/8
 */
public interface GenerateAccountMapper {

    /**
     * 自动添加部门
     * @param departmentMap 部门id map
     * @return int
     */
    int addAutoDepartment(@Param("dmp") Map<String,String> departmentMap);

    /**
     * 一键生成测试账号中的，地区生成
     * @param departmentMap 自动生成的地区参数
     * @return int
     */
    int addAutoRegion(@Param("dmp") Map<String,String> departmentMap);

    /**
     * 一键生成账号中，自动生成参数
     * @param departmentMap 地区参数
     * @return int
     */
    int addAreaCodeFull(@Param("dmp") Map<String,String> departmentMap);

    /**
     * 自动创建账号的时候创建子用户表
     * @param departmentMap 部门id map
     * @return int
     */
    int addAutoTbsysUserChildCache(@Param("dmp") Map<String,String> departmentMap);

    /**
     * 一键生成账号自动添加用户
     * @param accountList 账号
     * @return int
     */
    int addAutoAccount(@Param("list") List<String> accountList);


    /**
     * 一键生成账号自动添加用户信息
     * @param authUserMap 用户信息
     * @param departmentMap departmentMap
     * @return int
     */
    int addTbsysUserAuto(@Param("authUserMap") Map<String,String> authUserMap, @Param("departmentMap") Map<String,String> departmentMap);

    /*上面是新增的，下面是删除的*/

    /**
     * 删除自动添加的部门
     * @param suffix 后缀
     * @return int
     */
    int delAutoRegion(@Param("suffix") String suffix);

    /**
     * 删除自动添加的部门
     * @param suffix 后缀
     * @return int
     */
    int delAreaCodeFull(@Param("suffix") String suffix);

    /**
     * 删除自添加价的
     * @param suffix 后缀
     * @return int
     */
    int delAutoDepartment(@Param("suffix") String suffix);

    /**
     * 删除自添加价的
     * @param suffix 后缀
     * @return int
     */
    int delTbsysUserAuto(@Param("suffix") String suffix);

    /**
     * 删除自添加价的
     * @param suffix 后缀
     * @return int
     */
    int delAutoAccount(@Param("suffix") String suffix);

    /**
     * 删除用户子用户缓存表
     * @param suffix 后缀
     * @return int
     */
    int delAutoTbsysUserChildCache(@Param("suffix") String suffix);
}
